#pragma once

#include <string>
#include <stdint.h>

struct AVM_APA_1_MSG {
  uint32_t APA_EPS_Control_Request;
  uint32_t AVM_APA_1_HzrdLiReq;
  uint32_t AVM_APA_SystemSts;
  uint32_t APA_Active;
  uint32_t APAFailureSts;
  uint32_t ReasonForDVDnotDisplyAPA;
  int32_t APA_SteeringWheelAngleReq;
  uint32_t TarSpd;
  uint32_t AVM_APA_1_AliveCounter;
  uint32_t AVM_APA_1_CRC;
};

struct AVM_APA_2_MSG {
  uint32_t APA_ESP_Stop_Distance;
  uint32_t APA_ESP_Speed_Limitation;
  uint32_t APA_Allow_ESP_Control_Brake;
  uint32_t APA_ESP_Control_Request;
  uint32_t APA_ESP_Target_Gear_Request;
  uint32_t APA_FailureBrakeMode;
  uint32_t AVM_APA_2_APAEPBCtrlReq;
  uint32_t AVM_APA_2_Reserved1;
  uint32_t AVM_APA_2_AliveCounter;
  uint32_t AVM_APA_2_CRC;
};

struct FCM_2_MSG {
  uint32_t HMA_Status;
  uint32_t HMA_HighbeamReq;
  uint32_t LDW_ELK_TJA_LDPLeftVisuali;
  uint32_t LDW_ELK_TJA_LDPRightVisuali;
  uint32_t SLAState;
  uint32_t SLASpdlimit;
  uint32_t SLASpdlimitWarning;
  uint32_t Camera_textinfo;
  uint32_t FCM_2_SLASpdlimitUnits;
  uint32_t FCM_2_MessageCounter;
  uint32_t FCM_2_CRC;
};

struct FCM_3_MSG {
  int32_t FCM_3_StrngWhlAgReq;
  uint32_t FCM_3_StrngWhlAgReqActive;
  uint32_t FCM_3_HptcVibReq;
  uint32_t FCM_3_AngCtrlTrqUpprLim;
  int32_t FCM_3_AngCtrlTrqLowrLim;
  uint32_t FCM_3_ManMachineSharingSts;
  uint32_t FCM_3_MsgCntr;
  uint32_t FCM_3_CRC;
};

struct FCM_5_MSG {
  uint32_t FCM_5_TJAICAExitTextInfoSts;
  uint32_t FCM_5_SLAONOFFSts;
  uint32_t FCM_5_IESONOFFSts;
  uint32_t FCM_5_HMAONOFFSts;
  uint32_t FCM_5_TSIONOFFSts;
  uint32_t FCM_5_TLIONOFFSts;
  uint32_t FCM_5_LDWONOFFSts;
  uint32_t FCM_5_WarnModSts;
  uint32_t FCM_5_LDPONOFFSts;
  uint32_t FCM_5_LDWLDPSnvtySts;
  uint32_t FCM_5_ELKONOFFSts;
  uint32_t SLWFONOFFSts;
  uint32_t SLASpdlimitWarningAudSWSts;
  uint32_t FCM_5_SpeedLmtNmberAb;
  uint32_t FCM_5_SpeedLmtNmberE;
  uint32_t FCM_5_SLAmodeSWSet;
  uint32_t FCM_5_Resd_1;
  uint32_t FCM_5_MsgCntr;
  uint32_t FCM_5_CRC;
};

struct FCM_10_MSG {
  uint32_t FCM_10_TSISysSts;
  uint32_t FCM_10_TLISysSts;
  uint32_t FCM_10_TSISgnGiWay;
  uint32_t FCM_10_TSISgnForb;
  uint32_t FCM_10_TSISgnLongStayDisp;
  uint32_t FCM_10_TLITrfcLi;
  uint32_t FCM_10_LDPSysSts;
  uint32_t FCM_10_LDWSysSts;
  uint32_t FCM_10_ELKSysSts;
  uint32_t FCM_10_TSINoParkWarn;
  uint32_t FCM_10_TJAICATextinfo_Resd;
  uint32_t FCM_10_TJAICAEnaRcmend_Resd;
  uint32_t FCM_10_LDPTJAELKTakeoverReq;
  uint32_t FCM_10_TJAICAExitTextInfoSts;
  uint32_t FCM_10_SLAONOFFSts;
  uint32_t FCM_10_WarnModSts;
  uint32_t FCM_10_ELKIntvMod;
  uint32_t FCM_10_EgoLeftLineHeatgAg_Resd;
  uint32_t FCM_10_MsgCntr;
  uint32_t FCM_10_CRC;
};

struct FCM_FRM_1_MSG {
  int32_t ACCTarAcc;
  uint32_t VLCShutdownMode;
  uint32_t ACCMode_ESP;
  uint32_t ComfortAccUpperValue;
  uint32_t BrakePreferred;
  uint32_t ComfortAccLowerValue;
  uint32_t DriveOff;
  uint32_t LimitAccUpperValue;
  uint32_t DecToStop;
  int32_t LimitAccLowerValue;
  uint32_t ACC_AccECGPOvrd;
  uint32_t HBALevel;
  uint32_t HBARequest;
  uint32_t PrefillRequest;
  uint32_t FCM_FRM_1_MessageCounter;
  uint32_t FCM_FRM_1_CRC;
};

struct FCM_FRM_2_MSG {
  int32_t AEBTarDec;
  uint32_t AEBDecCtrlRequest;
  uint32_t ACCMinimumBraking;
  uint32_t ACCStartStopInfo;
  uint32_t AEBReq;
  uint32_t FCM_FRM_2_Reserved1;
  uint32_t AWBRequest;
  uint32_t AWBLevel;
  uint32_t FCM_FRM_2_Textinfo_Info;
  uint32_t FCM_FRM_2_Reserved2;
  uint32_t FCM_FRM_2_MessageCounter;
  uint32_t FCM_FRM_2_CRC;
};

struct FCM_FRM_3_MSG {
  uint32_t FCM_FRM_3_Resd1;
  uint32_t FCM_FRM_3_Resd2;
  uint32_t FCM_FRM_3_Resd3;
  uint32_t FCM_FRM_3_Resd4;
  uint32_t FCM_FRM_3_Resd6;
  uint32_t FCM_FRM_3_Resd7;
  uint32_t FCM_FRM_3_Resd8;
  uint32_t FCM_FRM_3_Resd9;
  uint32_t ACCModeDummy;
  uint32_t FCM_FRM_3_Resd10;
  uint32_t FCM_FRM_3_Resd11;
  uint32_t FCM_FRM_3_Resd12;
  uint32_t FCM_FRM_3_Resd13;
  uint32_t FCM_FRM_3_Resd14;
  uint32_t FCM_FRM_3_Resd15;
  uint32_t FCM_FRM_3_Resd16;
  uint32_t FCM_FRM_3_Resd17;
  uint32_t FCM_FRM_3_Resd18;
  uint32_t FCM_FRM_3_MessageCounter;
  uint32_t FCM_FRM_3_CRC;
};

struct FCM_FRM_5_MSG {
  uint32_t FCM_FRM_5_AEBONOFFSts;
  uint32_t FCM_FRM_5_FCWSnvtySts;
  uint32_t FCM_FRM_5_FCWONOFFSts;
  uint32_t FCM_FRM_5_SCFONOFFSts;
  uint32_t FCM_FRM_5_DAIONOFFSts;
  uint32_t FCM_FRM_5_Resd_1;
  uint32_t FCM_FRM_5_MsgCntr;
  uint32_t FCM_FRM_5_CRC;
};

struct FCM_FRM_6_MSG {
  uint32_t FCM_FRM_6_Textinfo_Info;
  uint32_t FCM_FRM_6_TextinfoWarn;
  uint32_t FCM_FRM_6_TimeGapSetICM;
  uint32_t FCM_FRM_6_SCF_PopoverReq;
  uint32_t FCM_FRM_6_SCF_SpdLimSts;
  uint32_t FCM_FRM_6_SCF_SpdLimUnit;
  uint32_t FCM_FRM_6_DrvrCfmSCFDispFb;
  uint32_t FCM_FRM_6_DistanceWarning;
  uint32_t FCM_FRM_6_FCW_preWarning;
  uint32_t FCM_FRM_6_TakeOverReq;
  uint32_t FCM_FRM_6_FCWMode;
  uint32_t FCM_FRM_6_AEBMode;
  uint32_t FCM_FRM_6_AEBDecCtrlRequest;
  uint32_t FCM_FRM_6_HMI_Indicator;
  uint32_t FCM_FRM_6_ACCMode;
  uint32_t FCM_FRM_6_VSetDis;
  uint32_t FCM_FRM_6_MsgCntr;
  uint32_t FCM_FRM_6_CRC;
};

struct AVM_2_MSG {
  uint32_t AVMFaultStatusCameraFront;
  uint32_t AVMFaultStatusCameraLeft;
  uint32_t AVMFaultStatusCameraRear;
  uint32_t AVMFaultStatusCameraRight;
  uint32_t AVMStatusFault;
  uint32_t AVM_2_Reserved1;
};

struct AVM_3_MSG {
  uint32_t AVMDisplaySts;
  uint32_t AVM_3_IHUTTS;
  uint32_t HPA_Subscribe_Status;
  uint32_t AVM_3_IHUTTSExtend;
  uint32_t HPA_BeamReq;
  uint32_t AVMFeedbackSts_RemoteMode;
  uint32_t AVM_FactoryMode;
  uint32_t HPA_IHU_Audio_Learn_Tips;
  uint32_t REQ_AVMDisp_1;
  uint32_t HPA_IHU_Audio_HPA_status;
};

struct IDCU_FCM_1_MSG {
  uint32_t IDCU_1_AmbLi;
  int32_t IDCU_1_HozlPosnRi;
  int32_t IDCU_1_HozlPosnLe;
  uint32_t IDCU_1_ObjN1Dst;
  uint32_t IDCU_1_reserved_1;
  uint32_t IDCU_1_ObjN1_Type;
  uint32_t IDCU_1_reserved_2;
  uint32_t IDCU_1_MsgCntr;
  uint32_t IDCU_1_CRC;
};

struct IDCU_FCM_2_MSG {
  uint32_t IDCU_2_FCMStForADB;
  uint32_t IDCU_2_reserved_1;
  int32_t IDCU_2_HozlPosnRi;
  int32_t IDCU_2_HozlPosnLe;
  uint32_t IDCU_2_ObjN1Dst;
  uint32_t IDCU_2_reserved_2;
  uint32_t IDCU_2_ObjN2_Type;
  uint32_t IDCU_2_reserved_3;
  uint32_t IDCU_2_MsgCntr;
  uint32_t IDCU_2_CRC;
};

struct IDCU_FCM_3_MSG {
  uint32_t IDCU_3_reserved_1;
  int32_t IDCU_3_HozlPosnRi;
  int32_t IDCU_3_HozlPosnLe;
  uint32_t IDCU_3_ObjN3Dst;
  uint32_t IDCU_3_reserved_2;
  uint32_t IDCU_3_ObjN3_Type;
  uint32_t IDCU_3_reserved_3;
  uint32_t IDCU_3_MsgCntr;
  uint32_t IDCU_3_CRC;
};

struct IDCU_FCM_4_MSG {
  uint32_t IDCU_4_reserved_1;
  int32_t IDCU_4_HozlPosnRi;
  int32_t IDCU_4_HozlPosnLe;
  uint32_t IDCU_4_ObjN4Dst;
  uint32_t IDCU_4_reserved_2;
  uint32_t IDCU_4_ObjN4_Type;
  uint32_t IDCU_4_reserved_3;
  uint32_t IDCU_4_MsgCntr;
  uint32_t IDCU_4_CRC;
};

struct IDCU_FCM_5_MSG {
  uint32_t IDCU_5_reserved_1;
  int32_t IDCU_5_HozlPosnRi;
  int32_t IDCU_5_HozlPosnLe;
  uint32_t IDCU_5_ObjN5Dst;
  uint32_t IDCU_5_reserved_2;
  uint32_t IDCU_5_ObjN5_Type;
  uint32_t IDCU_5_reserved_3;
  uint32_t IDCU_5_MsgCntr;
  uint32_t IDCU_5_CRC;
};

struct IDCU_FCM_6_MSG {
  uint32_t IDCU_6_reserved_1;
  int32_t IDCU_6_HozlPosnRi;
  int32_t IDCU_6_HozlPosnLe;
  uint32_t IDCU_6_ObjN6Dst;
  uint32_t IDCU_6_reserved_2;
  uint32_t IDCU_6_ObjN6_Type;
  uint32_t IDCU_6_reserved_3;
  uint32_t IDCU_6_MsgCntr;
  uint32_t IDCU_6_CRC;
};

struct IDCU_FCM_7_MSG {
  uint32_t IDCU_7_reserved_1;
  int32_t IDCU_7_HozlPosnRi;
  int32_t IDCU_7_HozlPosnLe;
  uint32_t IDCU_7_ObjN7Dst;
  uint32_t IDCU_7_reserved_2;
  uint32_t IDCU_7_ObjN7_Type;
  uint32_t IDCU_7_reserved_3;
  uint32_t IDCU_7_MsgCntr;
  uint32_t IDCU_7_CRC;
};

struct IDCU_FCM_8_MSG {
  uint32_t IDCU_8_reserved_1;
  int32_t IDCU_8_HozlPosnRi;
  int32_t IDCU_8_HozlPosnLe;
  uint32_t IDCU_8_ObjN6Dst;
  uint32_t IDCU_8_reserved_2;
  uint32_t IDCU_8_ObjN8_Type;
  uint32_t IDCU_8_reserved_3;
  uint32_t IDCU_8_MsgCntr;
  uint32_t IDCU_8_CRC;
};

struct IDCU_9_MSG {
  uint32_t IDCU_9_AVPRemCtrlSts;
  uint32_t IDCU_9_AVPReqLeRiLi;
  uint32_t IDCU_9_AVPReqHdLoLi;
  uint32_t IDCU_9_AVPReqOutdReviMirr;
  uint32_t IDCU_9_AVPReqfourdoorlock;
  uint32_t IDCU_9_AVPFailrSt;
  uint32_t IDCU_9_AVPReqWinTurnDwn;
  uint32_t IDCU_9_AVPReqClsSunRoof;
  uint32_t IDCU_9_AVPReqHorn;
  uint32_t IDCU_9_BackOut;
  uint32_t IDCU_9_BackLeftCross;
  uint32_t IDCU_9_BackRightCross;
  uint32_t IDCU_9_AVPMatcSts;
  uint32_t IDCU_9_AVPReqPEPS;
  uint32_t IDCU_9_AVPFunReq;
  uint32_t IDCU_9_AVPModReqAutoPrkg;
  uint32_t IDCU_9_AVPModReqAutoParkOut;
  uint32_t IDCU_9_AVPModReqRmtPrkg;
  uint32_t IDCU_9_AVPModReqRmtParkOut;
  uint32_t IDCU_9_AVPModReqBackForth;
  uint32_t Read_IDCU_9_AVPModReqCruisePrkg;
  uint32_t IDCU_9_FrontOut;
  uint32_t IDCU_9_AVPModReqMmryPrkg;
  uint32_t IDCU_9_AVPModReqMmryParkOut;
  uint32_t IDCU_9_AVPPrkgSpd;
  uint32_t IDCU_9_AVPPrkgslot;
  uint32_t IDCU_9_FrontLeftCross;
  uint32_t IDCU_9_FrontLeftParallel;
  uint32_t IDCU_9_FrontRightCross;
  uint32_t IDCU_9_FrontRightParallel;
  uint32_t IDCU_9_ParkOutDirectionSt;
  uint32_t IDCU_9_AVPRecaFailrSt;
  uint32_t IDCU_9_MsgCntr;
  uint32_t IDCU_9_CRC;
};

struct IDCU_10_MSG {
  int32_t IDCU_10AVPTarA;
  uint32_t IDCU_10AVPACmdEnable;
  uint32_t IDCU_10AVPModForIPB;
  uint32_t IDCU_10AVPStandstillReq;
  uint32_t IDCU_10AVPVehStrtReq;
  uint32_t IDCU_10AVPBrkFirst;
  uint32_t IDCU_10AVPTarASlopUpprLim;
  int32_t IDCU_10AVPTarASlopLowrLim;
  int32_t IDCU_10AVPTarALowrLim;
  int32_t IDCU_10AVPTarAUpprLim;
  uint32_t IDCU_10_Resd1;
  uint32_t IDCU_10_MsgCntr;
  uint32_t IDCU_10_CRC;
};

struct IDCU_11_MSG {
  uint32_t IDCU_11_CPONOFFsts;
  uint32_t IDCU_11_NOCONOFFsts;
  uint32_t IDCU_11_ALCDrvrCfmONOFFsts;
  uint32_t IDCU_11_ALCDrvStysts;
  uint32_t IDCU_11_FCTBONOFFsts;
  uint32_t IDCU_11_PPMIMod;
  uint32_t IDCU_11_DCLCONOFFsts;
  uint32_t IDCU_11_PrkgIntrptVoice;
  uint32_t IDCU_11_DrvAssiStylests;
  uint32_t IDCU_11_VoiceRem;
  uint32_t IDCU_11_HPAONOFFsts;
  uint32_t IDCU_1_Resd;
  uint32_t IDCU_11_ParkingchimeVoice;
  uint32_t IDCU_11_ParkIntSts;
  uint32_t IDCU_11_StartButtonSts;
  uint32_t IDCU_11_ResumeButtonSts;
  uint32_t IDCU_11_RPAParkingDriOperateInd;
  uint32_t IDCU_11_ParkingProgressBarInd;
  uint32_t IDCU_11_Resd_2;
  uint32_t IDCU_11_MsgCntr;
  uint32_t IDCU_11_CRC;
};

struct IDCU_12_MSG {
  uint32_t IDCU_12Rmninfo;
  uint32_t IDCU_12_Resd_1;
  uint32_t IDCU_12CPMod;
  uint32_t IDCU_12FCTAWarnLe;
  uint32_t IDCU_12FCTAWarnRi;
  uint32_t IDCU_12_RmninfoTrig;
  uint64_t IDCU_12_Resd_2;
  uint32_t IDCU_12_MsgCntr;
  uint32_t IDCU_12_CRC;
};

struct IDCU_13_MSG {
  uint32_t IDCU_AEB_TexInfo;
  uint32_t IDCU_TSR_TextInfo;
  uint32_t IDCU_TextInfo_priority;
  uint32_t IDCU_CPMode;
  uint32_t IDCU_FCTB_TexInfo;
  uint32_t IDCU_NOC_TextInfo;
  uint32_t IDCU_ACC_TextInfo;
  uint32_t IDCU_CP_TextInfo;
  uint32_t IDCU_DCLC_TextInfo;
  uint32_t IDCU_HWFailure_TextInfo;
  uint32_t IDCU_ADAS_Sound;
  uint32_t IDCU_LKS_IHC_TextInfo;
  uint32_t IDCU_ADAS_Voice;
  uint32_t IDCU_13_MsgCntr;
  uint32_t IDCU_13_CRC;
};

struct RADAR_1_MSG {
  uint32_t LHRRadarSensorDistance;
  uint32_t RHMRRadarSensorDistance;
  uint32_t LHMRRadarSensorDistance;
  uint32_t RADAR_1_Reserved3;
  uint32_t RHRRadarSensorDistance;
  uint32_t RADAR_1_Reserved4;
  uint32_t LHFRadarSensorDistance;
  uint32_t RADAR_1_Reserved5;
  uint32_t RHFRadarSensorDistance;
  uint32_t RADAR_1_Reserved6;
  uint32_t RHMFRadarSensorDistance;
  uint32_t LHMFRadarSensorDistance;
  uint32_t AudibleBeepRate;
  uint32_t RadarDetectSts;
  uint32_t RadarWorkSts;
};

struct RADAR_2_MSG {
  uint32_t RHSRRadarSensorDistance;
  uint32_t LHSRRadarSensorDistance;
  uint32_t RHSFRadarSensorDistance;
  uint32_t RearPDCObjectDistance;
  uint32_t FrontPDCObjectDistance;
  uint32_t LHSFRadarSensorDistance;
};

struct RLCR_2_MSG {
  uint32_t RLCR_2_Resd1;
  uint32_t RLCR_2_RAEBReq;
  uint32_t RLCR_2_RAEBONOFFSts;
  uint32_t RLCR_2_RCTBONOFFSts;
  int32_t RLCR_2_RAEBCtrlA;
  uint32_t RLCR_2_Resd4;
  uint32_t RLCR_2_RCTBReq;
  uint32_t RLCR_2_Resd2;
  int32_t RLCR_2_RCTBCtrlA;
  uint32_t RLCR_2_Resd3;
  uint32_t RLCR_2_MsgCntr;
  uint32_t RLCR_2_CRC;
};

struct NMm_IDCU_MSG {
  uint32_t srcNodeID_IDCU;
  uint32_t RMR_IDCU;
  uint32_t NMm_IDCU_Reserved1;
  uint32_t usrData0_IDCU;
  uint32_t IGNITION_WAKEUP_IDCU;
  uint32_t RESET_WAKEUP_IDCU;
  uint32_t NETWORK_WAKEUP_IDCU;
  uint32_t ECUSPEC_WAKEUP_IDCU;
  uint32_t NETWORK_AWAKE_IDCU;
  uint32_t IGNITION_AWAKE_IDCU;
  uint32_t DIAGNOSTIC_AWAKE_IDCU;
  uint32_t ECUSPEC_AWAKE_IDCU;
  uint32_t usrData2_IDCU;
  uint32_t usrData3_IDCU;
  uint32_t usrData4_IDCU;
  uint32_t usrData5_IDCU;
};

struct XCP_FCM_RES_MSG {
  uint64_t XCP_FCM_RES;
};

struct Diag_IDCU_RES_MSG {
  uint64_t Diag_IDCU_RES;
};

struct ABM_1_MSG {
  uint32_t ABM_1_MessageCounter;
  uint32_t PsngrSeatBeltWarning;
  uint32_t ABM_1_CheckSum;
  uint32_t CrashOutputSts;
};

struct ABS_ESP_1_MSG {
  uint32_t ESP_APA_GearBoxEnable;
  uint32_t ABS_ESP_1_EBDFailSts;
  uint32_t ESP_APA_Target_Gear_Request;
  uint32_t ABS_ESP_1_ABSFailSts;
  uint32_t ABS_ESP_1_ABSActive;
  uint32_t ABS_ESP_1_VDCFailSts;
  uint32_t ABS_ESP_1_VDCActive;
  uint32_t ABS_ESP_1_TCSFailSts;
  uint32_t ABS_ESP_1_TCSActive;
  uint32_t ABS_ESP_1_PressureMasterCylinder;
  uint32_t ESP1_PressureMasCylindValidData;
  uint32_t IPB_SimulatorPressure;
  uint32_t IPB_SimulatorPressureStatus;
  uint32_t ESP1_VehicleSpeedVSOSigValidData;
  uint32_t ABS_ESP_1_VehicleSpeedVSOSig;
  uint32_t ABS_ESP_1_Checksum;
  uint32_t ABS_ESP_1_HDCCtrlSts;
  uint32_t ABS_ESP_1_HDCFailSts;
  uint32_t ABS_ESP_1_MessageCounter;
  uint32_t ABS_ESP_1_ESPSwitchStatus;
  uint32_t SwitchOffCruiseControl;
};

struct ABS_ESP_3_MSG {
  uint32_t NoBrakeForce;
  uint32_t ABS_ESP_3_AVHFailSts;
  int32_t ESP_VLCEngTorqReq;
  uint32_t ABS_ESP_3_AVHSts;
  uint32_t ESP_VLCEngTorqReqValidData;
  uint32_t ABS_ESP_3_MessageCounter;
  uint32_t ABS_ESP_3_Checksum;
};

struct ABS_ESP_4_MSG {
  int32_t VLC_InternalTargetAcceleration;
  uint32_t VehicleStandstill;
  uint32_t AWBactive;
  uint32_t AWBavailable;
  uint32_t ECDTempOff;
  uint32_t DCFail;
  uint32_t VLC_Active;
  uint32_t VLC_Available;
  uint32_t CDDActive;
  uint32_t CDDAvailable;
  uint32_t ABAactive;
  uint32_t ABAavailable;
  uint32_t ABS_ESP_4_MessageCounter;
  uint32_t ABS_ESP_4_Checksum;
};

struct ABS_ESP_5_MSG {
  uint32_t LHRPulseCounter;
  uint32_t LHRPulseCounterFailSts;
  uint32_t RHFPulseCounterFailSts;
  uint32_t LHFPulseCounterFailSts;
  uint32_t RHRPulseCounter;
  uint32_t RHRPulseCounterFailSts;
  uint32_t RHFPulseCounter;
  uint32_t LHFPulseCounter;
};

struct ABS_ESP_7_MSG {
  int32_t LHFWheelSpeedRaw;
  uint32_t LHFWheelDriveDirection;
  uint32_t LHFWheelSpeedRawValidData;
  int32_t RHFWheelSpeedRaw;
  uint32_t RHFWheelDriveDirection;
  uint32_t RHFWheelSpeedRawValidData;
  uint32_t QDCACC;
  uint32_t VLCFail;
  int32_t WheelBrakeForce;
  uint32_t ABSESP_7_MessageCounter;
  uint32_t ABSESP_7_Checksum;
};

struct ABS_ESP_8_MSG {
  int32_t LHRWheelSpeedRaw;
  uint32_t LHRWheelDriveDirection;
  uint32_t LHRWheelSpeedRawValidData;
  int32_t RHRWheelSpeedRaw;
  uint32_t RHRWheelDriveDirection;
  uint32_t RHRWheelSpeedRawValidData;
  uint32_t ABPActive;
  uint32_t ABPAvailable;
  uint32_t AEBdecActive;
  uint32_t AEBdecAvailable;
  uint32_t ABSESP_8_RCTBAvl;
  uint32_t ABSESP_8_CDDActvVehAutoHld;
  uint32_t ABSESP_8_RAEBdecActv;
  uint32_t ABSESP_8_RAEBAvl;
  uint32_t ABSESP_8_RCTBdecActv;
  uint32_t ESP_APA_LC_Status;
  uint32_t ESP_APA_LC_FailureSts;
  uint32_t ESC_APA_LC_Availability;
  uint32_t ABSESP_8_MessageCounter;
  uint32_t ABSESP_8_Checksum;
};

struct ABS_ESP_G_MSG {
  uint32_t CDPActive;
};

struct BCM_1_MSG {
  uint32_t RHTurnlightSts;
  uint32_t LHTurnlightSts;
  uint32_t HighBeamSts;
  uint32_t LowBeamSts;
  uint32_t KeySts;
  uint32_t BCM_1_Checksum;
  uint32_t DirectionIndRight;
  uint32_t DirectionIndLeft;
  uint32_t HazardLightSW;
  uint32_t AutoLightSW;
  uint32_t DriverDoorLockSts;
  uint32_t DriverDoorSts;
  uint32_t PsngrDoorSts;
  uint32_t HoodSts;
  uint32_t RHRDoorSts;
  uint32_t LHRdoorSts;
  uint32_t TrunkSts;
  uint32_t DriverDoorStsQbit;
  uint32_t HMASW;
  uint32_t RearFogLightSts;
  uint32_t ReverseGearSts;
  uint32_t FrontFogLightSts;
  uint32_t HighBeamSWSts;
  uint32_t FlashSWSts;
  uint32_t LHTurnSW;
  uint32_t RHTurnSW;
  uint32_t WiperSts;
  uint32_t AutoHighSpeedRequest;
  uint32_t BCM_1_MessageCounter;
};

struct BCM_4_MSG {
  uint32_t BCM_4_ArmingSts;
  uint32_t LightDetected;
  uint32_t RVSMode;
  uint32_t BrakelampFaultSts;
};

struct BCM_5_MSG {
  uint32_t TirePositionWarning_LHFTire;
  uint32_t TirePositionWarning_RHFTire;
  uint32_t TirePositionWarning_LHRTire;
  uint32_t TirePositionWarning_RHRTire;
};

struct BCM_9_MSG {
  uint32_t SRF_OperateSts;
  uint32_t SRF_PositionSts;
  uint32_t FLWindow_Sts;
  uint32_t FRWindow_Sts;
  uint32_t RLWindowSts;
  uint32_t RRWindowSts;
  uint32_t TrailerConnectSts;
};

struct BCM_10_MSG {
  uint64_t BCM_10_Config;
};

struct BCM_11_MSG {
  uint32_t HUDBriRawVal;
  uint32_t HUDBriUnit;
  uint32_t Rainfall;
};

struct BCM_13_MSG {
  uint32_t IBS_SOC;
};

struct BCM_17_MSG {
  uint64_t BCM_17_Resd;
};

struct BMS_8_MSG {
  uint32_t BMSH_8_MessageCounter;
  uint32_t BMSH_8_CRC;
  uint32_t BMS_8_CC2Sts;
};

struct CLM_2_MSG {
  uint32_t CLM2_AliveCounter;
  uint32_t CLM2_ExternalTempFailSts;
  int32_t CLM2_ExternalTemperature_C;
  uint32_t ExternalTemperatureFailSts_GS;
  int32_t ExternalTemperatureRaw_C;
  uint32_t CLM2_CRC;
};

struct DMS_1_MSG {
  uint32_t DMS_1_DrvrDistrLvl;
  uint32_t DMS_1_DrvrFatiLvl;
  uint32_t DMS_1_DMSSt;
  uint32_t DMS_1_DrvrDistrLvlCfdec;
  uint32_t DMS_1_DrvrFatiLvlCfdec;
  uint32_t DMS_1_CameraSt;
  uint32_t DMS_1_MessageCounter;
  uint32_t DMS_1_CRC;
};

struct HCU_EMS_1_MSG {
  uint32_t EMS1_EngineSpeed;
  uint32_t EMS_1_Checksum;
  uint32_t AcceleratorPosRaw;
  uint32_t EMS_1_MessageCounter;
};

struct HCU_EMS_2_MSG {
  int32_t MaxTorqueAvailable;
  int32_t MinTorqueAvailable;
  uint32_t BrakePedalStsValidDataForTCU;
  uint32_t BrakePedalStsForTCU;
  uint32_t EngineStsForDCT;
};

struct HCU_EMS_3_MSG {
  int32_t MeanEffectiveTorque;
  int32_t EngineTorqueDriverRequest;
  int32_t EngineTorqueLoss;
  uint32_t SSMStatus;
  uint32_t EMS_3_MessageCounter;
  uint32_t EMS_3_Checksum;
};

struct EMS_6_MSG {
  uint32_t ECGPOvrd;
  uint32_t ECGPOvrdInvalidData;
  uint32_t EMS6_MessageCounter;
  uint32_t EMS6_CRC;
};

struct EMS_1_G_MSG {
  uint32_t EngineSts;
};

struct HCU_EMS_2_G_MSG {
  uint32_t LimitSpeedSts;
  uint32_t GasPedalPosition;
  uint32_t GasPedalPositionInvalidData;
  uint32_t EMS_2_G_MessageCounter;
  uint32_t EMS_2_G_CRC;
};

struct EPB_G_MSG {
  uint32_t EPBErrorStatus;
  uint32_t EPBStatus;
  uint32_t RWUActive;
};

struct EPS_1_MSG {
  uint32_t EPSFailSts;
  uint32_t EPSSteeringAngleCalibrationSts;
};

struct EPS_2_MSG {
  uint32_t TorsionBarTorque;
  uint32_t TorsionBarTorqueDir;
  uint32_t TosionBarTorqueValid;
  uint32_t EpsControlStatus;
  uint32_t EPS_APA_SteeringAngleInvalid;
  int32_t EPS_APA_SteeringWheelAngleRes;
  uint32_t EPS_APA_CurrentSystemStatus;
  uint32_t EPS_APA_FaultStatus;
  uint32_t EPS_2_Message_Counter;
  uint32_t EPS_2_CRC;
};

struct EPS_3_MSG {
  int32_t EPS_3_StrngWhlAg;
  uint32_t EPS_3_StrngWhlAgValid;
  uint32_t EPS_3_StrngAgSpdValidData;
  uint32_t EPS_3_StrngAgSpd;
  uint32_t EPS_3_AgFailr;
  uint32_t EPS_3_Message_Counter;
  uint32_t EPS_3_CRC;
};

struct EPS_4_MSG {
  uint32_t EPS_4_LoASts;
  uint32_t EPS_4_LatDrvgAvlForLvl;
  uint32_t EPS_4_HptcVibSrvAvl;
  uint32_t EPS_4_AgCtrlLimActvd;
  int32_t EPS_4_MotorTorque;
  uint32_t EPS_4_StrngWhlAgResActive;
  uint32_t EPS_4_PSCMActRPCTrqValid;
  int32_t EPS_4_PSCMActRPCTrq;
  uint32_t EPS_4_Message_Counter;
  uint32_t EPS_4_CRC;
};

struct EPB_State_R_MSG {
  uint32_t EPB_State_R_CRC1;
  uint32_t EPB_State_R_RollgCntr1;
  uint32_t EPB_EPBAvl_St;
  uint32_t EPBStatus;
  uint32_t EPB_State_R_CRC2;
  uint32_t EPB_State_R_RollgCntr2;
  uint32_t EPB_ActrSt_R;
  uint32_t EPB_FltLvl_R;
  uint32_t EPB_State_L_CRC1;
  uint32_t EPB_State_L_RollgCntr1;
  uint32_t EPB_ActrSt_L;
  uint32_t EPB_FltLvl_L;
};

struct HCU_6_MSG {
  int32_t HCU_6_MaxTorqueWheel;
  int32_t HCU_6_MinTorqueWheel;
  uint32_t HCU_6_ECGPOvrd;
  uint32_t HCU_6_ECGPOvrdInvalidData;
  uint32_t APA_HCU_available;
  uint32_t APA_HCU_DriverIntervention;
  uint32_t HCU_6_MessageCounter;
  uint32_t HCU_6_CRC;
};

struct HCU_17_MSG {
  uint32_t PRNDGearAct;
  uint32_t PRNDGearActValidData;
  uint32_t PRNDGearTarget;
  uint32_t HCU_17_MessageCounter;
  uint32_t HCU_17_CRC;
};

struct HCU_1_G_MSG {
  uint32_t HCU_PTReady;
  uint32_t HCU_PowertrainFault;
};

struct HCU_3_G_MSG {
  uint32_t HCU_PowerLimit;
  uint32_t HCU_GasPedalPosition;
  uint32_t HCU_GasPedalPositionInvalidData;
  uint32_t HCU_BrakePedalStsValidData;
  uint32_t HCU_BrakePedalSts;
};

struct ICM_1_MSG {
  uint32_t DisplayVehicleSpeed;
  uint32_t ECOModeSWSts;
  uint32_t TotalOdometer_km;
};

struct ICM_2_MSG {
  uint32_t DISFail;
  uint32_t QDashACCFail;
};

struct ICM_3_MSG {
  uint32_t CurrentTimeHour;
  uint32_t CurrentTimeMinute;
  uint32_t CurrentTimeSecond;
  uint32_t CurrentTimeDay;
  uint32_t CurrentTimeMonth;
  uint32_t CurrentTimeYear;
};

struct ICM_5_MSG {
  uint32_t ICM_5_DriverSeatBeltSwitch;
  uint32_t DriverSeatBeltSwitchQbit;
  uint32_t ACC_Kilometre_Mile;
  uint32_t ICM_5_MessageCounter;
  uint32_t ICM_5_Checksum;
};

struct IPB_11_MSG {
  int32_t IPB_InputRodStroke;
  uint32_t IPB_InputRodStrokeStatus;
  uint32_t IPB_PlungerPressure;
  uint32_t IPB_PlungerPressureValidData;
  uint32_t IPB_ESP_11_MessageCounter;
  uint32_t IPB_ESP_11_CRC;
};

struct MFS_2_MSG {
  uint32_t CHKSM_MFS_2;
  uint32_t ALIVE_MFS_2;
  uint32_t MFS_2_LeftRoller;
  uint32_t MFS_Cruise_Control;
  uint32_t MFS_RESPlus;
  uint32_t MFS_SETMinus;
  uint32_t MFS_2_LeRollrUpDwnAdjSteps;
  uint32_t MFS_Time_Gap_Add;
  uint32_t MFS_Time_Gap_Reduce;
};

struct PEPS_1_MSG {
  uint32_t RemoteStartSts;
  uint32_t RemoteStartFailCode_1;
  uint32_t PEPS_1_MessageCounter;
  uint32_t PEPS_1_Checksum;
};

struct PEPS_2_MSG {
  uint32_t PEPS_PowerMode;
  uint32_t PEPS_2_MessageCounter;
  uint32_t PEPS_2_CRC;
};

struct BDM_25_MSG {
  uint32_t BDM_25_FWBrightness;
  uint32_t BDM_25_ParkFrntEna;
  uint32_t BDM_25_ParkBackEna;
  uint32_t BDM_25_AVPFctReq;
  uint32_t BDM_25_AVPActv;
  uint32_t BDM_25_AmbBrightness;
  uint32_t BDM_25_IRBrightness;
  uint32_t BDM_25_MessageCounter;
  uint32_t BDM_25_CRC;
};

struct PPMI_1_MSG {
  uint32_t PPMISt;
  uint32_t HWSt;
};

struct SAM_1_G_MSG {
  int32_t SteeringAngle;
  uint32_t SteeringAngleSpeed;
  uint32_t AngleFailure;
  uint32_t SteeringAngleValidData;
  uint32_t SteeringAngleSpeedValidData;
  uint32_t SAM_1_G_MessageCounter;
  uint32_t SAM_1_GCRCCheck;
};

struct TCU_1_MSG {
  int32_t TorqueLimitation;
  uint32_t APA_TCU_available;
  uint32_t APA_TCU_DriverIntervention;
  uint32_t TCU_1_MessageCounter;
  uint32_t TCU_1_Checksum;
};

struct TCU_2_MSG {
  uint32_t GBPositoionDisplayForPEPS;
  uint32_t ActualGear;
  uint32_t DriverMode;
  uint32_t TargetGearValidData;
  uint32_t ActualGearValidData;
  uint32_t ShiftInProgress;
  uint32_t ShiftInProgressValidData;
  uint32_t TargetGear;
  uint32_t GearRatio;
  uint32_t TCU_2_MessageCounter;
  uint32_t TCU_2_Checksum;
};

struct TCU_3_MSG {
  int32_t IdleControlLoadTorque;
  uint32_t DesiredEngineIdleSpeed;
  uint32_t TCU_3_MessageCounter;
  uint32_t TCU_3_Checksum;
};

struct TCU_4_MSG {
  uint32_t STAT_LimpHomeMode;
  uint32_t ALIVE_TCU_4;
  uint32_t CRC_TCU_4;
};

struct TCU_G_MSG {
  uint32_t GBPositoionDisplay;
};

struct TBOX_2_MSG {
  uint32_t TBOX_SetAVMOnReq;
  uint32_t TBOX_SetAVMVeiw;
};

struct TBOX_6_MSG {
  uint32_t TBOX_6_AVPFctLinkSts;
  uint32_t TBOX_6_ParkOutDirReq;
  uint32_t TBOX_6_ParkEntReq;
  uint32_t TBOX_6_ParkFrntEna;
  uint32_t TBOX_6_ParkBacktEna;
  uint32_t TBOX_6_AVPFctReq;
  uint32_t TBOX_6_AVPActv;
  uint32_t TBOX_6_MessageCounter;
  uint32_t TBOX_6_ParkOutDirectionSt;
  uint32_t TBOX_6_PhoneDevicefailSts;
  uint32_t TBOX_6_RpaModReq;
  uint32_t TBOX_6_BluetoothErrorSts;
  uint32_t TBOX_6_Checksum;
};

struct IHU_1_MSG {
  uint32_t LanguageSet;
  uint32_t RRMResolutionX;
  uint32_t RRMResolutionY;
};

struct IHU_7_MSG {
  uint32_t IHU_7_CPONOFF;
  uint32_t IHU_7_NOCONOFFsts;
  uint32_t IHU_7_ALCDrvrCfmONOFFsts;
  uint32_t IHU_7_ALCDrvSty;
  uint32_t IHU_7_DCLCONOFF;
  uint32_t IHU_7_DrvAssiStyle;
};

struct IHU_3_MSG {
  uint32_t DVD_SetThemeType;
};

struct IHU_8_MSG {
  uint32_t Set_Default;
};

struct IHU_9_MSG {
  uint32_t IHU_9_FrntRadarSwt;
};

struct IHU_10_MSG {
  uint32_t NavSpeedLimitStatus;
  uint32_t NavSpeedLimit;
  uint32_t NavSpeedLimitUnits;
  uint32_t NavCurrRoadType;
  uint32_t IHU_DriveMode;
  uint32_t IHU_10_Displaysts;
};

struct IHU_11_MSG {
  uint32_t DVD_SET_DOW;
  uint32_t DVD_SET_RCW;
  uint32_t IHU_11_BSDSwitchSts;
  uint32_t IHU_11_RAEBSwtSet;
  uint32_t IHU_11_RCTBSwtSet;
  uint32_t IHU_11_AEBSwtSet;
  uint32_t IHU_11_FCWSnvtySet;
  uint32_t IHU_11_FCWSwtSet;
  uint32_t IHU_11_TJAICAExitTextInfoSwtSet;
  uint32_t IHU_11_SLASwtSet;
  uint32_t IHU_11_SCFSwtSet;
  uint32_t IHU_11_FCTBSwtSet;
  uint32_t IHU_11_DAISwtSet;
  uint32_t IHU_11_IESSwtSet;
  uint32_t IHU_11_HMASwtSet;
  uint32_t IHU_11_TSISwtSet;
  uint32_t IHU_11_TLISwtSet;
  uint32_t IHU_11_LDWSwtSet;
  uint32_t IHU_11_WarnModSwtSet;
  uint32_t IHU_11_LDPSwtSet;
  uint32_t IHU_11_LDWLDPSnvtySet;
  uint32_t IHU_11_ELKSwtSet;
};

struct IHU_12_MSG {
  uint32_t NaviBtnPressInputValueX;
  uint32_t NaviBtnPressInputValueY;
  uint32_t RRMDisplayAVMOff;
  uint32_t CalibrationReq;
  uint32_t IHU_12_CarMdlSetColor;
  uint32_t IHU_APAKeySts;
  uint32_t AVMSwt;
  uint32_t TouchEvt;
};

struct IHU_14_MSG {
  uint32_t LPN_Info1;
  uint32_t LPN_Info2;
  uint32_t LPN_Info3;
  uint32_t LPN_Info4;
  uint32_t LPN_Info5;
  uint32_t LPN_Info6;
  uint32_t LPN_Info7;
  uint32_t LPN_Info8;
};

struct IHU_29_MSG {
  uint32_t SLWFONOFFSet;
  uint32_t SLASpdlimitWarningAudSWSet;
  uint32_t IHU_29_SLAMode;
  uint32_t IHU_29_HPASet;
  uint32_t IHU_29_SpeedLmtNmberAb;
  uint32_t IHU_29_SpeedLmtNmberE;
  uint32_t IHU_29_VoiceReminder;
  uint32_t IHU_29_APAPrkgNr;
  uint32_t IHU_29_VoiceCtrldPrkgCmd;
};

struct OBC_3_MSG {
  uint32_t OBC_3_MessageCounter;
  uint32_t OBC_3_CRC;
  uint32_t OBC_CC_ConnectSts;
};

struct YAS_1_MSG {
  uint32_t YAS_1_MessageCounter;
  uint32_t YAS_CalibrationSts;
  uint32_t YawrateSigValidData;
  uint32_t LateralAccelerationSigValidData;
  int32_t LateralAcceleration;
  int32_t YawRate;
  uint32_t YAS_1_Checksum;
};

struct YAS_2_MSG {
  uint32_t YAS_2_MessageCounter;
  uint32_t LongitudinalAccelerationSigValid;
  int32_t LongitudinalAcceleration;
  uint32_t YAS_2_Checksum;
};

struct XCP_FCM_REQ_MSG {
  uint64_t XCP_FCM_REQ;
};

struct Diag_IDCU_REQ_MSG {
  uint64_t Diag_IDCU_REQ;
};

struct DIAG_OBD_REQ_Broadcast_MSG {
  uint64_t Diag_Functional_REQ;
};

